package Negocio;

import ManejoExc.PersonalException;
import java.util.Comparator;
import java.sql.Date;
import java.util.Calendar;





/**
 * @author Diego
 * @version 1.0
 * @created 29-sep-2013 18:02:14 p.m.
 */
public class RegistroHorario{

        private Integer idRegistroHorario;    
        private Date fecha;
        private long horaIngreso;
	private long horaSalida;
        private Personal unEmpleado;
	

	//Constructores
        public RegistroHorario(){

	}

        public RegistroHorario(Date fecha, long Horaingreso, long Horasalida,Personal unEmpleado) {
            this.fecha = fecha;
            this.horaIngreso = Horaingreso;
            this.horaSalida = Horasalida;
            this.unEmpleado = unEmpleado;
            Empresa.persistencia.insert(this);
        }

    //Set & Get
    public Integer getIdRegistroHorario() {
        return idRegistroHorario;
    }

    public void setIdRegistroHorario(Integer idRegistroHorario) {
        this.idRegistroHorario = idRegistroHorario;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    public long getHoraIngreso() {
        return horaIngreso;
    }

    public void setHoraIngreso(long horaIngreso) {
        this.horaIngreso = horaIngreso;
    }

    public long getHoraSalida() {
        return horaSalida;
    }

    public void setHoraSalida(long horaSalida) {
        this.horaSalida = horaSalida;
    }

    public Personal getUnEmpleado() {
        return unEmpleado;
    }

    public void setUnEmpleado(Personal unEmpleado) {
        this.unEmpleado = unEmpleado;
    }
    

    
        

        
        //Metodos
        
        public Long horasTrabajadas(){
            Long reg = (this.getHoraSalida() - this.getHoraIngreso());                
            //Time result = new Time(reg);
            return reg;
        }
        
        public int mes(){ //Retorna el mes correspondiente del registro
            Calendar cal = Calendar.getInstance();
            cal.setTime(this.fecha);
            int month = cal.get(Calendar.MONTH);
            return month + 1;
            
        }
        
        public int anio (){
            Calendar cal = Calendar.getInstance();
            cal.setTime(this.fecha);
            int anio = cal.get(Calendar.YEAR);
            return anio;
        }
        
        public int dia(){
            return this.fecha.getDay();
        }
        
        public String toString(){
            return Empresa.miUtilidadDeFechas.fechaAr(this.fecha) + " " + Empresa.miUtilidadDeFechas.hora(this.horaIngreso) + " "+Empresa.miUtilidadDeFechas.hora(this.horaSalida);                  
        }
       
}
